#!/bin/ksh

##############################################################################
#
# AIX 3.2 Internationalization Sample Environment Package
#
# (C) COPYRIGHT International Business Machines Corp. 1989 All Rights Reserved
#
# US Government Users Restricted Rights - Use, duplication or disclosure 
# restricted by GSA ADP Schedule Contract with IBM Corp.
#
# INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PACKAGE OF SAMPLE
# ENVIRONMENT FILES, BOTH INDIVIDUALLY AND AS ONE OR MORE GROUPS, AS IS, 
# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
# LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
# PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 
# SAMPLE ENVIRONMENT FILES, BOTH INDIVIDUALLY AND AS ONE OR MORE GROUPS, IS
# WITH YOU. SHOULD ANY PART OF THE SAMPLE ENVIRONMENT PACKAGE PROVE DEFECTIVE,
# YOU (AND NOT IBM) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICE, SUPPORT,
# REPAIR OR CORRECTION.
#
# Each copy of the AIX 3.2 ILS Sample Environment Package or derivative work
# thereof must reproduce the IBM Copyright notice and the complete contents of
# this notice.
#
##############################################################################

convert()
{
    JFLAG=0
    FROMDIR="$1"
    FROMLANG=`basename "$1"`
    if [ "$FROMLANG" = "C" -o "$FROMLANG" = "prime" -o \
	 "$FROMLANG" = "Ar" -o "$FROMLANG" = "Iw" ]
    then
	echo "Not converting" "$FROMLANG"
	return
    fi
    FIRST=`expr "$FROMLANG" : "\(.\)"`
    REST=`expr "$FROMLANG" : ".\([^.]*\)"`
    if [ `expr "$FIRST" : "[[:lower:]]"` -ne 0 ]
    then
	# Not converting from ISO and EUC
	echo "Not converting from ISO and EUC"
	return
    else
	NEWFIRST=`echo $FIRST | tr "[:upper:]" "[:lower:]"`
	TOLANG=$NEWFIRST$REST
	TODIR=/usr/lib/nls/msg/$TOLANG
	if [ ! -d "$TODIR" ]
	then
	    mkdir "$TODIR"
	fi
	if [ "$FIRST" = "J" ] 
	then
	    FROMCODE=IBM-932
	    TOCODE=IBM-eucJP
	    JFLAG=1
	else
	    FROMCODE=IBM-850
	    TOCODE=ISO8859-1
	fi
    fi
    for i in `ls "$FROMDIR"/*.cat 2>/dev/null`
    do
	FILE=`basename "$i"`
	TEMP1FILE=/tmp/$FILE$$1
	TEMP2FILE=/tmp/$FILE$$2
	if [ $JFLAG -eq 1 ]
	then
	    export LC_CTYPE=Ja_JP
	    export LC_COLLATE=Ja_JP
	fi
	dspcat -g "$i" > $TEMP1FILE 
	RET="$?"
	if [ "$RET" -ne 0 ]
	then
	    echo 'The catalog' $i 'was not converted'
	else
	    iconv -t "$TOCODE" -f "$FROMCODE" $TEMP1FILE > $TEMP2FILE
	    if [ $JFLAG -eq 1 ]
	    then
		export LC_CTYPE=ja_JP
		export LC_COLLATE=ja_JP
	    fi
	    if [ -f "$TODIR"/"$FILE" ]
	    then
		echo Deleting "$TODIR"/"$FILE"
		rm -f "$TODIR"/"$FILE"
	    fi
	    echo Generating "$TODIR"/"$FILE"
	    gencat "$TODIR"/"$FILE" $TEMP2FILE
	    chmod ugo+r "$TODIR"/"$FILE"
	fi
	rm -rf $TEMP1FILE $TEMP2FILE
    done
}

for i in /usr/lib/nls/msg/*
do
    if [[ -r $i && ! -L $i ]]
    then
	echo "Visiting $i"
	convert $i /u
    fi
done
